Numerous software products—referred to herein as software programs, or simply, programs—are known. Many years ago, most software programs were designed for use on desktop or laptop computers, in which the display is at least about the size of a standard sheet of office paper, e.g., 8.5×11 inches. Stated differently, the display for such devices has a characteristic dimension of at least about 14 inches, measured diagonally between opposite corners of the generally rectangular display screen.
In recent years there has been explosive growth in the sales of smart phones, tablet computers, smart watches, and similar handheld devices, whose display screens have characteristic dimensions substantially smaller than 14 inches. The screen size on a handheld device may be for example less than 9 inches, or less than 8 inches, or in a range from 1 to 9 inches or from 4 to 8 inches. Most smart phones have screen sizes from 6 to 7 inches. Despite the small size of the display screen, software programs made for use with such handheld devices, sometimes referred to as applications or “apps”, may have a high degree of functionality and complexity. For example, such software programs may define a plurality of distinct tasks that are hierarchical or branched in nature, as explained further below. Hierarchical tasks can be easily provided for when implemented on the large display screen of a desktop or laptop computer by providing separate virtual windows for each task, where multiple such windows overlap in a layered fashion within the boundary of the display screen, and each window has its own set of functional graphical elements such as virtual buttons that the user can click, touch, or otherwise trigger to perform operations.
There is an ongoing need for new software tools and features that can make it easier for users to operate and navigate software, especially software that is implemented on devices with smaller screens.